Shape reconstruction of specular and/or diffuse objects using multiple layers of movable sheets

ABSTRACT

Shape reconstruction of physical objects using structured light patterns and multiple layers of movable sheets which each include a transparent region and a pattern region. Shape reconstruction of specular regions on the surface of the object may proceed by a first phase in which a first sheet is moved to the pattern region and all other sheets are moved to the transparent region, and a first sequence of images is captured for patterns on the pattern region of the first sheet, such as by projection of patterns or pre-printed patterns; and by a second phase in which e the first sheet is moved to the transparent region and all other sheets are moved to the pattern region, and a second sequence of images is captured for patterns on the pattern region of the second sheet, such as by projection of patterns or pre-printed patterns. Based on the captured images, the shape of the surface of an object, particularly objects having a mirror-like or specular surface having at least some specular characteristics, is reconstructed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit of priority from U.S. ProvisionalApplication No. 62/440,979 filed Dec. 30, 2016 (Attorney Docket03650.021284.PV), the content of which is incorporated by reference asif set forth here in full.

FIELD

The present disclosure relates shape reconstruction of physical objectsusing structured light and multiple layers of movable sheets which eachinclude a transparent or windowed area, and is particularly well-suitedfor shape reconstruction of objects having a mirror-like or specularsurface.

RELATED ART

For objects having a diffuse surface with Lambertian reflectioncharacteristics, there has been considerable attention given to 3D shapereconstruction using structured light. As one example, a survey ofvarious techniques is described by Geng, “Structured-light 3D surfaceimaging: a tutorial,” Advances in Optics and Photonics, vol. 3, pages128-180 (2011). As used herein, “shape reconstruction” is sometimesreferred to also as “depth estimation”.

3D reconstruction of a specular object remains a challenging task. Whilethere are several techniques capable of accurate reconstruction ofobjects with a diffuse (also called Lambertian) surface, the 3Dreconstruction of an object with a specular (or non-Lambertian) surfaceis still an open problem.

One challenge is due to the fact that the appearance of a specularobject, or a highly glossy object, depends on the viewpoint and on thesurrounding environment.

In addition, for specular and highly glossy objects, reflection by theobject may be quite complicated, and in general may involve multiplereflections by the object itself, in the path of reflection from a lightsource to image capture. These multiple reflections violate underlyingassumptions of conventional reconstruction techniques on the nature ofreflections by the surface of the object, which typically assume only asingle reflection at the surface of the object. Thus, the multiplereflections destabilize and otherwise invalidate calculations based onray tracing or triangulation, at least to the extent that suchcalculations rely on the assumption of only a single reflection at thesurface of the object.

The following documents may be helpful to those of ordinary skill:

Laurentini, A., “The visual hull concept for silhouette-based imageunderstanding”, Pattern Analysis and Machine Intelligence (IEEETransactions on), vol. 16, no. 2, pages 150-162 (1994).

Matusik, W., et al., “Image-based 3D photography using opacity hulls”,ACM Transactions on Graphics (TOG), vol. 21, no. 3, pages 427-437(2002).

O'Toole, M., et al., “3D Shape and Indirect Appearance by StructuredLight Transport”, Computer Vision and Pattern Recognition (CVPR) (IEEEConference on), pages 3246-3253 (2014).

SUMMARY

Previous applications by the applicant herein have considered techniquesfor shape measurement and reconstruction. As examples:

U.S. patent application Ser. No. 14/489,008, filed Sep. 17, 2014 bySiu-Kei Tin et al., “Depth Value Measurement Using Illumination byPixels”, now published at U.S. Patent Application Publication No.2016/0076878 (Attorney Docket No. 03650.017146). This application ingeneral describes reconstruction of the shape of a specular object byusing a system with multiple LCD display layers.

U.S. application Ser. No. 15/072,101, filed Mar. 16, 2016 by MandiNezamabadi, “3D Shape Reconstruction Using Projection Onto ElectronicLight Diffusing Layers” (Attorney Docket No. 03650.018620). Thisapplication in general also describes reconstruction of the shape of aspecular object by using E-glass screens where each panel can be set toeither diffuse or transparent. One advantage of an E-glass based systemis the possibility to project a pattern directly onto the object (toreconstruct diffuse surfaces) when both screens are set to transparent.

U.S. Application No. 62/309,897, filed Mar. 17, 2016 by ManuelMartinello et al., “Separating Diffuse and Specular Components of aGlossy Object for Shape Reconstruction Using Electronic Light DiffusingLayers (E-Glass) and Polarized Light” (Attorney Docket No.03650.019759.PV); and U.S. application Ser. No. 15/359,404, filed Nov.22, 2016 by Manuel Martinello et al., “Separating Diffuse and SpecularComponents of a Glossy Object for Shape Reconstruction Using ElectronicLight Diffusing Layers (E-Glass) and Polarized Light” (Attorney DocketNo. 03650.019759) These applications in general describe the use ofpolarized light to separate diffuse and specular components ofreflection from a heterogeneous object whose surface may includespecular or highly glossy areas as well as diffuse areas, so as topermit more accurate shape reconstruction for such objects.

U.S. Application No. 62/323,531, filed Apr. 15, 2016 by ManuelMartinello et al., “Shape Reconstruction Including Silhouette ExtractionUsing Electronic Light Diffusing Layers (E-Glass)” (Attorney Docket No.03650.020222.PV); and U.S. Application No. 62/367,591, filed on Jul. 27,2016 by Manuel Martinello, “Shape Reconstruction Including SilhouetteExtraction Using Electronic Light Diffusing Layers (E-Glass)” (AttorneyDocket No. 03650.020599.PV). These applications in general describeE-glass systems for silhouette extraction of the object being inspected.Extraction of the silhouette helps to resolve some ambiguities createdby specular surfaces. In particular, along with the camera viewingparameters, the silhouette defines a back-projected generalized conethat contains the actual object. This cone is called a “silhouettecone”. The intersection of two or more cones (captured from differentviewpoints) is called visual hull, which is a bounding geometry of theactual 3D object.

U.S. Application No. 62/361,415, filed on Jul. 12, 2016 by ManuelMartinello et al., “Shape Reconstruction of Specular Objects in thePresence of Multiple Intra-Object Reflections” (Attorney Docket No.03650.020234.PV); and U.S. Application No. 62/367,600, filed on Jul. 27,2016 by Manuel Martinello, “Shape Reconstruction of Specular Objects inthe Presence of Multiple Intra-Object Reflections” (Attorney Docket No.03650.020601.PV). These applications in general describe E-glass systemswhich use the visual hull of a specular object to distinguish betweendirect-bounce reflections and intra-object reflections in shapereconstruction of the specular object.

The contents of these applications are incorporated herein by referenceas if set forth in full.

The foregoing applications include the use of pluraltransparency-controllable layers, such as multiple layers of E-glass,which are switchable between a transparent mode in which the glass iscompletely transparent, and a diffuse mode in which the glass assumes afrosted appearance. Images can be projected on or reflected onto thefrosted appearance of the diffuse mode, and images captured thereby canbe analyzed so as to reconstruct the 3D shape of an object underinspection. For example, sequences of coded patterns such as binary Grayscale patterns can be projected onto the E-glass layers while in thediffuse mode, and distorted images of these patterns, as reflected bythe specular surface of a glossy object, can be analyzed to reconstructthe surface shape of the object.

Although E-glass layers, and other transparency-controllable layers suchas LCD panels, have the convenience of electronic control withoutmechanical parts, they are sometimes not well-suited to particularenvironments or usage scenarios. For example: E-glass layers aregenerally heavy and require sturdy mounts. They can be relativelycostly, particularly in consumer-based usage scenarios, and sometimesdifficult to obtain commercially. In addition, once design decisions aremade with respect to parameters such as pixel size, it is difficult toinject flexible into the resulting system.

Thus, according to one aspect described herein, reconstruction of the 3Dshape of an object involves first and second movable sheets positionedin spaced-apart relation relative to each other. Each of the first andsecond sheets is movable to expose at least one transparent region andat least one pattern region to the inspection station. The patternregion is configured to bear a coded pattern thereon, such as byprojection of a coded pattern thereon or by a sequence of patternspre-printed or formed directly onto an elongate pattern region.

In some embodiments described herein, particularly those in which codedpatterns are projected onto the pattern region, the pattern regions ofthe first and second sheets are translucent, such that the projectedpattern is visible from the reverse side of the sheet. Shapereconstruction of diffuse regions on the surface of the object mayproceed by moving both of the first and second sheets to expose thetransparent region, and by projecting patterned light onto the object.Based on captured images of the pattern projected onto the object, theshape of the surface of an object having at least some diffusecharacteristics may be reconstructed. Diffuse components may beseparated from specular components in the captured images, such as byuse of varying angles of polarization in polarized light, and the shapeof the surface of the object may be reconstructed using the diffusecomponents.

Shape reconstruction of specular regions on the surface of the objectmay proceed by first and second phases. In the first phase the firstsheet is moved to the pattern region and the second sheet is moved tothe transparent region, and a first sequence of patterned light isprojected onto the pattern region of the first sheet. In the secondphase the first sheet is moved to the transparent region and the secondsheet is moved to the pattern region, and a second sequence of patternedlight is projected onto the pattern region of the second sheet. Based onthe captured images, the shape of the surface of an object having atleast some specular characteristics is reconstructed. Diffuse componentsmay be separated from specular components in the captured images, suchas by use of varying angles of polarization in polarized light, and theshape of the surface of the object may be reconstructed using thespecular components. Direct reflections from the object may bedifferentiated from intra-object reflections by extracting a visual hullof the object, separating between light paths having direct singlereflections and light paths having indirect multi-reflections in theimages of the reflected patterns, by calculations using the visual hull,and reconstructing the shape of the surface of the object using thelight paths having direct single reflections.

The coded sequences of patterned light may comprise a sequence of binarypatterns of horizontal and vertical stripe patterns, wherein eachpattern in the sequence has a spatial frequency that differs from othersof the patterns in the sequence, such as patterns formed using binaryGray codes.

In some embodiments described herein, coded patterns are pre-printed orformed directly onto an elongate pattern region. The coded sequences ofpatterns may comprise a sequence of binary patterns of horizontal andvertical stripe patterns, wherein each pattern in the sequence has aspatial frequency that differs from others of the patterns in thesequence, such as patterns formed using binary Gray codes. Shapereconstruction of specular regions on the surface of the object mayproceed by first and second phases. In the first phase the first sheetis moved to each sequential pattern of the pattern region and the secondsheet is moved to the transparent region. In the second phase the firstsheet is moved to the transparent region and the second sheet is movedto each sequential pattern of the pattern region. Based on wherein basedon the captured images, the shape of the surface of an object having atleast some specular characteristics is reconstructed.

The sheets may be transparent and they may be opaque or translucent, inwhich case the transparent regions may be formed by windows removed fromthe sheets.

This brief summary has been provided so that the nature of thisdisclosure may be understood quickly. A more complete understanding canbe obtained by reference to the following detailed description and tothe attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are views showing a movable sheet movable by rollers toexpose a transparent region as shown in FIG. 1A and a pattern region asshown in FIG. 1B.

FIG. 1C is a view showing the unrolled sheet depicted in FIGS. 1A and1B.

FIG. 1D is a view showing a linear encoder for precise positioning ofthe movable sheet.

FIG. 2 is a view depicting first and second movable sheets positioned inspaced-apart relation relative to each other.

FIG. 3 is a view showing one example embodiment of a system for recoveryof surface shape of an object which may have diffuse and/or specularregions, using the movable sheets of FIGS. 1A through 1C.

FIG. 4 is a view for explaining one embodiment of the architecture ofthe controller shown in FIG. 3.

FIG. 5 shows an example of 2D visual hull for an object that includesconcave areas.

FIG. 6 is an illustration of a multi-bounce path, demonstrating that fora multi-bounce situation, the light rays meet outside the visual-hull ofthe object.

FIG. 7 is a flow diagram for explaining shape reconstruction accordingto the disclosure herein.

FIG. 8 is a view showing an unrolled elongate movable sheet in whichcoded patterns are pre-printed or formed directly onto an elongatepattern region.

FIG. 9 is a view showing one example embodiment of a system for recoveryof surface shape of an object which may have diffuse and/or specularregions, using the movable sheets depicted in FIG. 8.

FIG. 10 is a flow diagram for explaining shape reconstruction accordingto the disclosure herein.

FIGS. 11A and 11B are views depicting movable sheets that aretransparent.

DETAILED DESCRIPTION First Embodiment

FIGS. 1A and 1B are views showing a movable sheet 20 movable by rollers21 to expose a transparent region 22 as shown in FIG. 1A and a patternregion 23 as shown in FIG. 1B. In this embodiment, sheet 20 istranslucent such that images projected onto the obverse side of patternregion 23 are visible from the reverse side thereof. Transparent region22 is formed by a window cut out from sheet 20.

FIG. 1C is a view showing sheet 20 in unrolled form. Generally speaking,the movable sheets described herein have at least one transparent regionand at least one pattern region. As seen in FIG. 1C, this embodimentuses one transparent region 22 in the form of a cut out window, and onepattern region 23 onto which coded patterns may be projected.

FIG. 1D is a view showing a linear encoder. In some embodiments, precisepositioning of the movable sheet is helpful, such as for repeatedre-positionings of the sheet to the same position, or for precision inrelative positioning as between a first movable sheet and second movablesheet. Such embodiments may use a linear encoder such as that shown inFIG. 1D in which a codestrip 24 is affixed to the edge of sheet 20, andan encoder 25 optically encodes the position of the codestrip.

FIG. 2 is a view depicting first and second movable sheets positioned inspaced-apart relation relative to each other. The sheets are movableindependently such as on rollers. For example, as shown in FIG. 2, afirst sheet is moved so that the transparent region is exposed, whilethe second sheet is moved so that the pattern region is exposed. In FIG.2, a coded pattern 26 is shown as projected onto the pattern region ofthe second sheet.

FIG. 3 is a view showing one example embodiment of a system for recoveryof surface shape of objects such as objects whose reflectioncharacteristics include both a specular component and a diffusecomponent, in the form of a replication system 10 in which surface shapeof objects is recovered for replication, for example, for 3D replicationof the object physically (such as with a 3D printer) orrepresentationally (as with a graphics display).

While FIG. 3 depicts a replication environment, it should be understoodthat this is simply an example environment in which the disclosureherein may be practiced, and that other environments or embodiments areof course possible. For example, recovery of surface shape can also beused in the context of automated inspection, robotics, gripping andpositioning, machine vision, quality control, defect detection, imageretrieval, shape modelling and scene reconstruction, security and soforth, among many others.

As shown in FIG. 3, an object 11 is positioned at an inspection station12, which in this embodiment is the surface of a movable stage 14 bywhich the object can be moved into varying perspectives. In thisembodiment, the movable stage is movable by rotation about a verticalaxis, and in other embodiments the movable stage may be a 3-axispositioning table. Object 11 is typically a specular object or amirror-like object, or other similar object with a glossy or highlyglossy surface, exhibiting reflection characteristics that include bothspecular and diffuse components. Movable stage 14 is moved under controlof actuator 15, via motion commands issued by controller 100 forreconstruction of surface shape.

Controller 100 is configured to reconstruct surface shape of objects atinspection station 12, based on commands issued to projector 101,commands issued to movable sheets 103 at rolling diffuser stations #1and #2, and commands issued to actuator 15 for movable stage 14; andbased on image data received from an image capture system which in thisembodiment includes digital cameras 102 a and 102 b. Based on thereconstruction obtained by controller 100, controller 100 controlsreplication controller 104 so as to obtain a 3D replication of theobject. In this embodiment, 3D replication of the object is obtainedphysically via 3D printer 105, to produce replicated object 106. Inother embodiments, 3D replication of the object may be obtainedrepresentationally via a graphics display. More details of controller100 are provided below, such as in connection with FIG. 3.

FIG. 3 further depicts plural movable sheets 103, positioned inspaced-apart relation relative to each other. In the FIG. 3 embodiment,there are two spaced-apart movable sheets and in other embodiments theremay be three or more spaced-apart movable sheets. Under control fromcontroller 100, each movable sheet is independently movable so as toexpose its transparent region 22 and its pattern region 23.

The movable sheets 103 are positioned in spaced-apart relation to eachother, such that by using the relative positionings of the movablesheets to projector 101 and cameras 102 a and 102 b, ray-tracing and/ortriangulation techniques allow reconstruction of the 3D surface shape ofthe object 11 under inspection. The relative positionings arepredetermined through calibration. More details on the relativepositionings of movable sheets 103, relative to other elements such asprojector 101 and the image capture system, and calibration, aredescribed in the afore-mentioned U.S. application Ser. No. 15/072,101(Docket 03650.018620), which is incorporated by reference.

In addition to the plural movable sheets 103, the FIG. 3 embodiment alsoincludes a pair of polarizers, one configured to polarize light and theother configured to analyze polarized light. In the FIG. 3 embodiment,the first polarizer is positioned between the E-glass layers and theobject, so as to polarize light illuminated toward the object. Thesecond polarizer is positioned in front of camera 102 b so as to permitanalysis of the polarization state of light reflected from the object.

More particularly, with respect to the pair of polarizers in the FIG. 3embodiment, one is used as a polarizer to polarize the incident lightbefore it reaches the object; and the other is used as an analyzer toanalyze the light reflected off the object. Either the analyzer or thepolarizer can rotate, or both can rotate.

In the FIG. 3 embodiment, the pair of polarizers are usable to separatea diffuse component of reflection from a specular component ofreflection. Each surface point on highly glossy or heterogeneous objectswill typically reflect in both modes, and separation of each componentfacilitates accurate surface reconstruction for such objects. It shouldbe understood that in some embodiments, where mainly specularreflections are expected, with little or no diffuse reflection, thepolarizers may be omitted, and processing to separate diffuse andspecular components of reflection may likewise be omitted.

In embodiments which separate diffuse and specular components ofreflection, separation of these components is described in theafore-mentioned U.S. Application No. 62/309,897 (Docket03650.019759.PV), and U.S. application Ser. No. 15/359,404 (Docket No.03650.019759), incorporated by reference herein.

Briefly, as explained in greater detail in said Application No.62/309,897 and Ser. No. 15/359,404, to obtain a diffuse component ofreflection from the object 11 at the inspection station, all movablesheets are positioned to the transparent region, and projector 101projects the patterns directly onto the surface of the diffuse object.The state of polarization is varied, and camera 102 b captures images ofthe patterns as projected onto the object. The nature and intensity ofthe captured images varies in accordance with the variation in the stateof polarization, which allows for separation of diffuse and specularcomponents of reflection. The diffuse component allows the depth foreach pixel of the object at the inspection station to be calculatedbased on traditional triangulation methodology.

To obtain a specular component of reflection, each different one of themovable sheets is in turn moved to expose its pattern region set withall others moved to expose the transparent region, and projector 101projects patterns so as to illuminate the object by the patternsprojected onto the pattern region. The state of polarization is varied,and images are captured of the structured light pattern as reflected bythe glossy surface of the object. The nature and intensity of thecaptured images varies in accordance with the variation in the state ofpolarization, which allows for separation of diffuse and specularcomponents of reflection. By projecting multiple different patterns,such as multiple different Gray code patterns, and by sequencing througheach of the movable sheets for each pattern, the 3D shape of theentirety of the visible surface of the object can be reconstructed byanalysis of the specular component of the captured images of thedistorted reflections of the patterns caused by the surface of theobject.

In embodiments which do not separate the diffuse component of reflectionfrom the specular component of reflection, the polarizer and theanalyzer may be omitted.

The position of camera and the movable sheets 103 are determined duringa calibration process and stored for later computations. Thecorrespondences between camera pixels and points of the patternsprojected onto the movable sheets are established by projecting codedpatterns, different from each other, such that each location on thesheet is uniquely identifiable. The patterns may, for example, bepatterns of horizontal and vertical stripe patterns, such as binarypatterns, each pattern in the sequence having a spatial frequency thatdiffers from others of the patterns in the sequence, such as Gray codepatterns.

Projector 101 in this embodiment has an autofocus function, by whichpatterns projected by the projector are automatically focused onto thesurface where the patterns are projected. This provides an advantageousbenefit: because the movable sheets are moved to expose transparentregions and pattern regions. The surface onto which patterns areprojected is likewise changed. For example, in a circumstance when aninnermost movable sheet at rolling diffuser #1 is moved to expose thepattern region, patterns are projected onto the innermost layer. Thefocus distance in this circumstance differs from a circumstance when theinnermost movable sheet at diffuser #1 is moved to expose thetransparent region and the outermost sheet at diffuser #2 is moved toexpose the pattern region. In this case, patterns are projected onto theoutermost sheet. Both of these focus distances are different from thecircumstance when all movable sheets are moved to expose theirtransparent regions, the object is diffuse, and patterns are projecteddirectly onto the surface of the diffuse object. The autofocus functionof projector 101 responds automatically to these changes in focusdistance, ensuring that the projected patterns remain in focusregardless of the surface onto which they are projected.

As depicted in FIG. 3, controller 100 provides commands to the pair ofpolarizers (i.e., to the polarizer and to the analyzer), positioncommands (for example, to expose the pattern region vs. the transparentregion) to the movable sheets 103, pattern commands (such as Gray codepatterns) to the projector, motion commands to the movable stage, andreplication commands to the replication controller. Controller 100receives image data from the image capture system, and uses the imagedata for functionality which includes functionality to extract asilhouette of the object, functionality to construct a visual hull forthe object, functionality to separate diffuse and specular components ofreflection in the captured images, functionality to determine the numberof reflections encountered by a light ray reflected by the surface ofthe object (sometimes referred to herein as the number of “bounces”),and functionality to reconstruct the 3D surface shape of the objectbased on the captured image data.

FIG. 4 is a view for explaining one embodiment of the architecture ofcontroller 100 for shape reconstruction of objects at inspection station12.

As shown in FIG. 4, controller 100 includes central processing unit(CPU) 110 which interfaces with computer bus 109. Also interfacing withcomputer bus 109 are network interface 111, keyboard interface 112,camera interface 113 which interfaces to the image capture systemincluding cameras 102 a and 102 b, projector interface 114 whichinterfaces to projector 101, layer interface 115 which interfaces to theplural movable sheets 103 and to the polarizer and the analyzer, movablestage interface 118 which interfaces to actuator 15 of movable stage 14,random access memory (RAM) 116 for use as a main run-time transientmemory, read only memory (ROM) 116 a, replication interface 117 forinterface to replication controller 104, and non-volatile memory 180(e.g., a hard disk or other nonvolatile and non-transitory storagemedium).

RAM 116 interfaces with computer bus 109 so as to provide informationstored in RAM 116 to CPU 110 during execution of the instructions insoftware programs, such as an operating system, application programs,image processing modules, and device drivers. More specifically, CPU 110first loads computer-executable process steps from non-volatile memory180 or another storage device into a region of RAM 116. CPU 110 can thenexecute the stored process steps from RAM 116 in order to execute theloaded computer-executable process steps. Data also can be stored in RAM116 so that the data can be accessed by CPU 110 during the execution ofthe computer-executable software programs, to the extent that suchsoftware programs have a need to access and/or modify the data.

As also shown in FIG. 4, non-volatile memory 180 containscomputer-executable process steps for operating system 181 and forapplication programs 182, such as graphic image management programs.Non-volatile memory 180 also contains computer-executable process stepsfor device drivers for software interface to devices, such as inputdevice drivers 183, output device drivers 184, and other device drivers185.

Non-volatile memory 180 also stores a shape recovery module 140, apositioning control module 150, and replication control module 180.These modules, i.e., the shape recovery module 140, the positioningcontrol module 150, and the replication control module 180, arecomprised of computer-executable process steps for 3D shapereconstruction of the surface shape of an object, for repositioning ofthe object on movable stage 14, and for control of replicationcontroller 104 for 3D replication of the object.

As shown in FIG. 4, shape recovery module 140 generally comprisessilhouette extraction module 141 for extracting a silhouette of aforeground object positioned against a background, a visual hullconstruction module 142 for constructing a visual hull using theextracted silhouette, a reflection bounce determination module 143 fordetermining the number of bounces encountered at the surface of theobject by a light ray, and shape recovery module 144 for recovery ofsurface shape of the object under inspection. Shape recovery module 140also generally comprises a rolling diffuser position control module 145for control over the position of each of the plural sheets 103, aprojector pattern control module 146 which stores one or more backgroundpatterns together with plural sequences of patterned light patterns andwhich controls projection of the plural sequences of background patternsand patterned light patterns by projector 101, as well as image capturecontrol module 147 for control of image capture by image capturingsystem 102.

Unshown in FIG. 4 is a further module, also stored in non-volatilememory 180, for control over the pair of polarizers, so as to rotate thepolarizer and/or the analyzer and alter the state of polarization, forthose embodiments that separate diffuse and specular components ofreflection.

Positioning control module 150 controls repositioning of the object onmovable stage 14, and replication control module 180 controlsreplication controller 104 for 3D replication of the object.

With respect to movable stage 14, controller 100 issues positioningcommands to reposition movable stage 14 and the object thereon. At eachposition, by control over the movable sheets 103 and pattern projection,multiple silhouettes of the foreground object may be extracted. Theextracted silhouettes may be used to construct a visual hull of theobject, and the visual hull may be used to determine the number ofbounces for a reflected light ray. Repositioning of the object exposesother areas of its surface to image capture and illumination by thelayers, and thereby permits 3D shape reconstruction with as much of theentirety of the object as desired.

The computer-executable process steps for these modules may beconfigured as part of operating system 181, as part of an output devicedriver in output device drivers 121, or as a stand-alone applicationprogram(s). These modules may also be configured as a plug-in or dynamiclink library (DLL) to the operating system, device driver or applicationprogram. It can be appreciated that the present disclosure is notlimited to these embodiments and that the disclosed modules may be usedin other environments.

Shape Reconstruction in the Presence of Multi-Reflections

With respect to images of the reflected patterns, some embodiments maydifferentiate between light paths having direct single reflections andlight paths having indirect multi-reflections, and some embodiments maynot make such a differentiation. For embodiments which make such adifferentiation, shape reconstruction is able to use light pathscorresponding to direct single reflection and to ignore light pathshaving indirect multi-reflections such as intra-object reflections. Suchdifferentiation is described in detail in the afore-mentionedApplication No. 62/361,415 (Docket No. 03650.020234.PV) and ApplicationNo. 62/367,600 (Docket No. 03650.020601.PV), incorporated by referenceherein.

For such embodiments, in a captured image of a specular object using thesystem shown above, or when working with the separated-out specularcomponent of a captured image, there are three (3) different categoriesof ray paths, as explained in the afore-mentioned applications:

0-bounce: camera rays (corresponding to camera pixels) that do not hitthe target object.

1-bounce or direct: rays that hit the object once and then bounce to orfrom the movable sheets.

N-bounce or indirect where N is greater than or equal to two (2): raysthat hit the object multiple times such as due to concave regions of theobject, and then bounce to the movable sheets.

The system described herein utilizes shape reconstruction techniqueswhich distinguish between these three categories. Principally, thetechnique is divided in two tasks: (1) Reconstruct the visual hull ofthe object; and (2) Starting from the visual hull, measure the shape bytriangulating only the direct paths (i.e., the 1-bounce paths).

The first task is achieved by extracting the silhouette of the object ateach view and then combining them together using the angle of rotationof each pose/camera. Extraction of the silhouette, and construction ofthe visual hull, is described in the afore-mentioned U.S. ApplicationNo. 62/323,531 (Docket 03650.020222.PV).

FIG. 5 shows an example of a 2D visual hull 31 for an object 32 thatincludes concave areas such as area 33. The visual hull is estimated bycombining silhouettes from different viewpoints. As shown in FIG. 5,concave regions cannot be properly reconstructed using only the visualhull.

Using the estimated visual hull, the second task is performed, so as todistinguish the 1-bounce paths and to triangulate using only the1-bounce paths.

One challenge of the second task is to distinguish direct reflections(1-bounce paths) from multi-reflections (N-bounce paths). As explainedin Application No. 62/367,600 (Docket No. 03650.020601.PV),distinguishing direct, single bounce reflections capitalizes on threeproperties of light ray reflection in the system.

Property #1: In a direct reflection (1-bounce paths), the camera ray(given by the camera pixel) and the light ray (given by the code readfrom the screens) are coplanar; in other words they lie on the epipolarplane.

Property #2: A generic multi-bounce path (N-bounce paths) usually doesnot keep the rays coplanar. This has been demonstrated by M. O'Toole etal., cited above, and acts as a computationally-simple first step indetermining whether to exclude a reflection from the reconstruction ofsurface shape.

Property #3: In the rare event that the rays of a multi-bounce path arecoplanar, they probably meet outside the visual hull. It should beunderstood that the rays of all multi-bounce paths usually meet outsidethe visual hull, regardless of whether the rays are or are not coplanar.On the other hand, direct reflections (1-bounce paths) will lie withinthe visual hull.

FIG. 6 is an illustration of a multi-bounce path, demonstrating that fora multi-bounce situation, the light rays meet outside the visual-hull ofthe object. This is consistent with property #3.

Thus, according to the disclosure herein, direct paths are distinguishedfrom multi-reflection paths based at least on whether the rays do or donot meet inside the visual hull. Once the direct paths are distinguishedfrom the multi-reflection paths, ray triangulation is used only on thedirect paths, while excluding the multi-reflection paths, so as toobtain the concave areas missing from the reconstruction of the visualhull.

FIG. 7 is a flow diagram for explaining shape reconstruction accordingto the disclosure herein. In this embodiment, the process steps shown inFIG. 7 are stored on non-transitory memory such as fixed disk 180 andare executed by CPU 100 of controller 100.

In connection with the steps shown in FIG. 7, in steps S701 and S702,all rolling diffusers are positioned to expose their transparentregions, a silhouette of the object is extracted, and a visual hull forthe object is extracted. As mentioned above, for embodiments that do notdifferentiate between light paths having direct single reflections andlight paths having indirect multi-reflections, steps S701 and S702 maybe omitted.

In step S703, rolling diffuser #2 is positioned to expose its patternregion and all other rolling diffusers are positioned to expose theirtransparent regions.

In step S704, projector 101 makes repeated projections of coded patternsonto the pattern region of the movable sheet in rolling diffuser #2, andcorresponding images of the distorted reflections of these patterns, asreflected by the surface of the object, are captured.

In step S705, the polarizer and/or analyzer are repositioned so as tovary the angle of polarization, the projections and captures of stepS704 are repeated. As mentioned above, in embodiments which do notseparate the diffuse component of reflection from the specular componentof reflection, step S705, with its repositioning of the polarizer andthe analyzer, and its repetition of projections and image captures, maybe omitted.

In step S706, rolling diffuser #1 is positioned to expose its patternregion and all other rolling diffusers are positioned to expose theirtransparent regions.

In step S707, projector 101 makes repeated projections of coded patternsonto the pattern region of the movable sheet in rolling diffuser #1, andcorresponding images of the distorted reflections of these patterns, asreflected by the surface of the object, are captured.

In step S708, the polarizer and/or analyzer are repositioned so as tovary the angle of polarization, the projections and captures of stepS707 are repeated. As mentioned above, and like step S705, inembodiments which do not separate the diffuse component of reflectionfrom the specular component of reflection, step S708, with itsrepositioning of the polarizer and the analyzer, and its repetition ofprojections and image captures, may be omitted.

In step S709, for embodiments which do separate the diffuse component ofreflection from the specular component of reflection, the diffuse andspecular components are separated.

In step S710, diffuse regions of the object are reconstructed usingdiffuse components of reflection. This step may be omitted forembodiments that reconstruct specular objects not containing significantdiffuse regions.

In step S711, for embodiments that do differentiate between light pathshaving direct single reflections and light paths having indirectmulti-reflections, light paths having a direct single reflection aredetermined based on intersection with the visual hull extracted in stepS702. For embodiments that do not differentiate between light pathshaving direct single reflections and light paths having indirectmulti-reflections, step S711 may be omitted.

In step S712, the surface shape of specular regions of the object isreconstructed using the captured images. For embodiments that dodifferentiate between light paths having direct single reflections andlight paths having indirect multi-reflections, light paths havingindirect multi-reflections are exclude, and only light paths having adirect single reflection, as determined in step S711, are used.

Another Embodiment

FIG. 8 is a view showing an unrolled elongate movable sheet according toa second embodiment, in which coded patterns are pre-printed or formeddirectly onto an elongate web which includes multiple pattern regions.

As shown in FIG. 8, an elongate sheet 220 includes a transparent region221 and multiple pattern regions such as regions 222 a, 222 b, 223 a and223 b. Each of the patterned regions has formed thereon a coded patternsuch as a Gray code pattern. In the example of FIG. 8, pattern regions222 a and 22 b are Gray code patterns in the horizontal direction, andpattern regions 223 a and 223 b are Gray code patterns in the verticaldirection.

In this embodiment, as in the embodiment described above, first andsecond ones of movable sheets 220 are positioned in spaced-apartrelation relative to each other. The sheets are movable independentlysuch as on rollers. A linear encoder such as that shown in FIG. 1D maybe affixed to the edge of each sheet, for purposes of accuratepositionings and re-positionings.

FIG. 9 is a view showing one example embodiment of a system for recoveryof surface shape of an object which may have diffuse and/or specularregions, using the movable sheets depicted in FIG. 8. Reference numbersused in FIG. 9 are similar to reference numbers used in FIG. 3, and adetailed description thereof is therefore omitted in the interests ofbrevity.

In one difference as between FIGS. 3 and 9, because the movable sheets203 of FIG. 9 have coded patterns pre-printed or formed directlythereon, a projector may be omitted.

FIG. 10 is a flow diagram for explaining shape reconstruction accordingto the disclosure herein.

In steps S1001 and S1002, all rolling diffusers are positioned to exposetheir transparent regions, a silhouette of the object is extracted, anda visual hull for the object is extracted. As mentioned above, forembodiments that do not differentiate between light paths having directsingle reflections and light paths having indirect multi-reflections,steps S1001 and S1002 may be omitted.

In step S1003, rolling diffuser #2 is positioned to expose its firstcoded pattern region and all other rolling diffusers are positioned toexpose their transparent regions.

In step S1004, there are repeated captures of images and repeatedpositionings of rolling diffuser #2 to sequential coded patterns. Thecaptured images are images of the distorted reflections of thesepatterns, as reflected by the surface of the object.

In step S1005, the polarizer and/or analyzer are repositioned so as tovary the angle of polarization, the positionings and captures of stepS1004 are repeated. As mentioned above, in embodiments which do notseparate the diffuse component of reflection from the specular componentof reflection, step S1005, with its repositioning of the polarizer andthe analyzer, and its repetition of pattern positionings and imagecaptures, may be omitted.

In step S1006, rolling diffuser #1 is positioned to expose its firstcoded pattern region and all other rolling diffusers are positioned toexpose their transparent regions.

In step S1007, there are repeated captures of images and repeatedpositionings of rolling diffuser #1 to sequential coded patterns. Thecaptured images are images of the distorted reflections of thesepatterns, as reflected by the surface of the object.

In step S1008, the polarizer and/or analyzer are repositioned so as tovary the angle of polarization, the positionings and captures of stepS1007 are repeated. As mentioned above, and like step S1005, inembodiments which do not separate the diffuse component of reflectionfrom the specular component of reflection, step S1008, with itsrepositioning of the polarizer and the analyzer, and its repetition ofpattern positionings and image captures, may be omitted.

In step S1009, for embodiments which do separate the diffuse componentof reflection from the specular component of reflection, the diffuse andspecular components are separated.

In step S1010, diffuse regions of the object are reconstructed usingdiffuse components of reflection. This step may be omitted forembodiments that reconstruct specular objects not containing significantdiffuse regions.

In step S1011, for embodiments that do differentiate between light pathshaving direct single reflections and light paths having indirectmulti-reflections, light paths having a direct single reflection aredetermined based on intersection with the visual hull extracted in stepS1002. For embodiments that do not differentiate between light pathshaving direct single reflections and light paths having indirectmulti-reflections, step S1011 may be omitted.

In step S1012, the surface shape of specular regions of the object isreconstructed using the captured images. For embodiments that dodifferentiate between light paths having direct single reflections andlight paths having indirect multi-reflections, light paths havingindirect multi-reflections are exclude, and only light paths having adirect single reflection, as determined in step S1011, are used.

In the foregoing embodiments, the movable sheets may be transparent andthey may be opaque or translucent, in which case the transparent regionsmay be formed by windows removed from the sheets. FIGS. 11A and 11B areviews depicting movable sheets that are transparent.

Computer Implementation

The example embodiments described herein may be implemented usinghardware, software or a combination thereof and may be implemented inone or more computer systems or other processing systems. However, themanipulations performed by these example embodiments were often referredto in terms, such as entering, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, in any of the operations described herein.Rather, the operations may be completely implemented with machineoperations. Useful machines for performing the operation of the exampleembodiments presented herein include general purpose digital computersor similar devices.

From a hardware standpoint, a CPU typically includes one or morecomponents, such as one or more microprocessors, for performing thearithmetic and/or logical operations required for program execution, andstorage media, such as one or more disk drives or memory cards (e.g.,flash memory) for program and data storage, and a random access memory,for temporary data and program instruction storage. From a softwarestandpoint, a CPU typically includes software resident on a storagemedia (e.g., a disk drive or memory card), which, when executed, directsthe CPU in performing transmission and reception functions. The CPUsoftware may run on an operating system stored on the storage media,such as, for example, UNIX or Windows (e.g., NT, XP, Vista), Linux, andthe like, and can adhere to various protocols such as the Ethernet, ATM,TCP/IP protocols and/or other connection or connectionless protocols. Asis well known in the art, CPUs can run different operating systems, andcan contain different types of software, each type devoted to adifferent function, such as handling and managing data/information froma particular source, or transforming data/information from one formatinto another format. It should thus be clear that the embodimentsdescribed herein are not to be construed as being limited for use withany particular type of server computer, and that any other suitable typeof device for facilitating the exchange and storage of information maybe employed instead.

A CPU may be a single CPU, or may include plural separate CPUs, whereineach is dedicated to a separate application, such as, for example, adata application, a voice application, and a video application. Softwareembodiments of the example embodiments presented herein may be providedas a computer program product, or software, that may include an articleof manufacture on a machine accessible or non-transitorycomputer-readable medium (i.e., also referred to as “machine readablemedium”) having instructions. The instructions on the machine accessibleor machine readable medium may be used to program a computer system orother electronic device. The machine-readable medium may include, but isnot limited to, floppy diskettes, optical disks, CD-ROMs, andmagneto-optical disks or other type of media/machine-readable mediumsuitable for storing or transmitting electronic instructions. Thetechniques described herein are not limited to any particular softwareconfiguration. They may find applicability in any computing orprocessing environment. The terms “machine accessible medium”, “machinereadable medium” and “computer-readable medium” used herein shallinclude any non-transitory medium that is capable of storing, encoding,or transmitting a sequence of instructions for execution by the machine(e.g., a CPU or other type of processing device) and that cause themachine to perform any one of the methods described herein. Furthermore,it is common in the art to speak of software, in one form or another(e.g., program, procedure, process, application, module, unit, logic,and so on) as taking an action or causing a result. Such expressions aremerely a shorthand way of stating that the execution of the software bya processing system causes the processor to perform an action to producea result.

While various example embodiments have been described above, it shouldbe understood that they have been presented by way of example, and notlimitation. It will be apparent to persons skilled in the relevantart(s) that various changes in form and detail can be made therein.Thus, the present invention should not be limited by any of the abovedescribed example embodiments, but should be defined only in accordancewith the following claims and their equivalents.

1. An apparatus for shape reconstruction of the surface of an objectpositioned at an inspection station, the apparatus comprising: first andsecond movable sheets positioned in spaced-apart relation relative toeach other, each of the first and second sheets being movable to exposeat least one transparent region and at least one pattern region to theinspection station, wherein the pattern region is configured to bear acoded pattern thereon; an image capture device positioned and configuredto capture images in a direction toward the inspection station; and acontroller configured to control movement of the first and second sheetsso as to expose the inspection station to coded patterns, and configuredto reconstruct the shape of the surface of an object positioned at theinspection station by calculations using images captured by the imagecapture device.
 2. The apparatus according to claim 1, wherein thepattern regions of the first and second sheets are translucent, andfurther comprising a projector positioned to project coded patterns ontothe pattern regions.
 3. (canceled)
 4. (canceled)
 5. (canceled) 6.(canceled)
 7. The apparatus according to claim 2, wherein in a firstphase the controller moves the first sheet to the pattern region and thesecond sheet to the transparent region, and controls the projector toproject a first sequence of patterned light onto the pattern region ofthe first sheet, wherein in a second phase the controller moves thefirst sheet to the transparent region and the second sheet to thepattern region, and controls the projector to project a second sequenceof patterned light onto the pattern region of the second sheet, andwherein based on the captured images, the controller reconstructs theshape of the surface of an object having at least some specularcharacteristics.
 8. The apparatus according to claim 7, furthercomprising separation of diffuse components from specular components inthe captured images, and wherein the shape of the surface of the objectis reconstructed using the specular components.
 9. The apparatusaccording to claim 7, further comprising: extracting a visual hull ofthe object; and separating between light paths having direct singlereflections and light paths having indirect multi-reflections in theimages of the reflected patterns, by calculations using the visual hull,wherein the shape of the surface of the object is reconstructed usingthe light paths having direct single reflections.
 10. (canceled) 11.(canceled)
 12. (canceled)
 13. (canceled)
 14. (canceled)
 15. (canceled)16. (canceled)
 17. (canceled)
 18. (canceled)
 19. A method for shapereconstruction of the surface of an object positioned at an inspectionstation, the method comprising: moving first and second movable sheets,each having at least one transparent region and at least one patternregion, and each positioned in spaced-apart relation relative to eachother, the first and second movable sheets being moved so as to exposethe transparent region and the pattern region to the inspection station;providing a coded pattern on the pattern region; capturing images in adirection toward the inspection station; and reconstructing the shape ofthe surface of an object positioned at the inspection station bycalculations using the captured images.
 20. The method according toclaim 19, wherein the pattern regions of the first and second sheets aretranslucent, and said step of providing a coded pattern on the patternregion comprises projecting coded patterns onto the pattern regions. 21.(canceled)
 22. (canceled)
 23. (canceled)
 24. (canceled)
 25. The methodaccording to claim 20, wherein in a first phase the first sheet is movedto the pattern region and the second sheet is moved to the transparentregion, and a first sequence of patterned light is projected onto thepattern region of the first sheet, wherein in a second phase the firstsheet is moved to the transparent region and the second sheet is movedto the pattern region, and a second sequence of patterned light isprojected onto the pattern region of the second sheet, and wherein basedon the captured images, the shape of the surface of an object having atleast some specular characteristics is reconstructed.
 26. The methodaccording to claim 25, further comprising separation of diffusecomponents from specular components in the captured images, and whereinthe shape of the surface of the object is reconstructed using thespecular components.
 27. The method according to claim 25, furthercomprising: extracting a visual hull of the object; and separatingbetween light paths having direct single reflections and light pathshaving indirect multi-reflections in the images of the reflectedpatterns, by calculations using the visual hull, wherein the shape ofthe surface of the object is reconstructed using the light paths havingdirect single reflections.
 28. (canceled)
 29. (canceled)
 30. (canceled)31. (canceled)
 32. (canceled)
 33. (canceled)
 34. (canceled) 35.(canceled)
 36. (canceled)
 37. (canceled)
 38. An apparatus for shapereconstruction of the surface of an object positioned at an inspectionstation, the apparatus comprising: a processor for executingcomputer-executable process steps; and a memory that storescomputer-executable process steps that cause the processor to executethe method for shape reconstruction of the surface of an objectpositioned at an inspection station according to claim
 19. 39. A systemcomposed by at least 2 capturing devices, at least 2 projectors, atleast two groups of material sheets mounted on frames with controllablepositioning by a computer, and a rotating stage, wherein a. eachprojector displays a pattern on one group of material sheet layers; b.each capturing device is facing one group of material sheet layers; c.the rotating stage with object is located between the capturing systemand one group of material glass layers.
 40. The system in claim 39,wherein the optical axis of each camera is orthogonal to one group ofmaterial sheet layers;
 41. (canceled)
 42. The system in claim 39,wherein each material sheet layer is moved by winding or unwinding eachlayer independently.
 43. (canceled)
 44. (canceled)
 45. (canceled) 46.The system in claim 39, wherein a polarizer is placed in front of a setof material sheet layers and an analyzer in front of the camera.
 47. Thesystem in claim 39, wherein one capturing device is formed by an arrayof cameras or an arch of cameras.
 48. A method of reconstructing the 3Dshape of a specular object, the method comprising: a. capture images ofthe reflected patterns; b. capture images of the background patterns; c.extract silhouettes at each view; d. reconstruct visual hull of targetobject; e. separate between direct (single reflection) and indirect(multi-reflected) light paths; f. triangulate only direct paths,starting from the visual hull; and g. eliminate voxels along directlight paths.
 49. The method in claim 48, wherein the capturing thebackground patterns (step b) are obtained with the same images capturedfor the reflected patters (step a).
 50. The method in claim 48, whereinstep g (elimination of the voxels along the light path) is notperformed.
 51. (canceled)
 52. (canceled)
 53. The method in claim 48,wherein the triangulation at step f is performed at each rotation usingmore than one camera in the system (e.g., left and right cameras of agroup of material sheet layers).